package com.yuncheng.spcyApi.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuncheng.spcyApi.entity.SpcyRsJcysfbgjl;
import com.yuncheng.common.base.service.BaseService;
import com.yuncheng.spcyApi.vo.common.OrderItemVo;
import com.yuncheng.spcyApi.vo.common.PageVo;

import java.util.List;

/**
 * @Description: 检查员身份变更记录
 * @Author: yuncheng
 * @Date: 2024-01-06
 * @Version: V1.0
 */
public interface ISpcyRsJcysfbgjlService extends BaseService<SpcyRsJcysfbgjl> {

    /** 检查员身份变更记录-分页查询 */
    Page<SpcyRsJcysfbgjl> pageList(SpcyRsJcysfbgjl query, PageVo pageVo, OrderItemVo orderItemVo);

    /** 检查员身份变更记录 -列表查询 */
    List<SpcyRsJcysfbgjl> selectAllList(SpcyRsJcysfbgjl query, OrderItemVo orderItemVo);

    /**
     * 初始化-遴选检查员身份变更记录
     * @param fjcylb 检查员类别
     * @param userid 用户id
     * @param fjcyid 检查员id
     * @param fjcyxl 检查员小类
     * @param fzytc 专业特长
     * @param fssk 检查员资格（组长、组员）
     * @param fpid 业务id（遴选id）
     * @param fwjh 文件号
     * @param sfsqzh 是否授权账号（是/否）
     */
    void initLxJcysgbgjl(String userid, String fjcyid, String fjcylb, String fjcyxl, String fssk, String fzytc, String fpid, String fwjh, String sfsqzh);

    /**
     * 初始化-聘任检查员身份变更记录
     * @param fjcylb 检查员类别
     * @param userid 用户id
     * @param fjcyid 检查员id
     * @param fjcyxl 检查员小类
     * @param fzytc 专业特长
     * @param oldFssk 旧检查员资格（组长、组员）
     * @param newFssk 新检查员资格（组长、组员）
     * @param fpid 业务id
     * @param fwjh 文件号
     * @param isReturn 是否撤销变更记录
     */
    void initPrJcysgbgjl(String userid, String fjcyid, String fjcylb, String fjcyxl, String oldFssk, String newFssk, String fzytc, String fpid, String fwjh, boolean isReturn);

    void initPrJcysgbgjl(String userid, String fjcyid, String fjcylb, String fjcyxl, String oldFssk, String newFssk, String fzytc, String fpid, String fwjh, boolean isReturn, String sfsqzh);

    /**
     * 初始化-解聘检查员身份变更记录
     * @param fjcylb 检查员类别
     * @param userid 用户id
     * @param fjcyids 检查员ids
     * @param fjcyxls 检查员小类s
     * @param fzytc 专业特长
     * @param oldFssk 旧检查员资格（组长、组员）
     * @param fpid 业务id
     * @param fwjh 文件号
     * @param isHfjp 是否恢复解聘 false,true
     */
    void initJpJcysgbgjl(String userid, String fjcyids, String fjcylb, String fjcyxls, String oldFssk, String fzytc, String fpid, String fwjh, boolean isHfjp);

    /**
     * 初始化-申请解聘检查员身份变更记录
     * @param fjcylb 检查员类别
     * @param userid 用户id
     * @param fjcyid 检查员ids
     * @param fjcyxl 检查员小类s
     * @param fzytc 专业特长
     * @param oldFssk 旧检查员资格（组长、组员）
     * @param fpid 业务id
     * @param isHfjp 是否恢复解聘 false,true
     */
    void initSqJpJcysgbgjl(String userid, String fjcyid, String fjcylb, String fjcyxl, String oldFssk, String fzytc, String fpid, boolean isHfjp);

    /**
     * 初始化-申请退休延聘检查员身份变更记录
     * @param fjcylb 检查员类别
     * @param userid 用户id
     * @param fjcyid 检查员ids
     * @param fjcyxl 检查员小类s
     * @param fzytc 专业特长
     * @param oldFssk 旧检查员资格（组长、组员）
     * @param fpid 业务id
     * @param isHfjp 是否恢复解聘 false,true
     */
    void initSqTxypJcysgbgjl(String userid, String fjcyid, String fjcylb, String fjcyxl, String oldFssk, String fzytc, String fpid, boolean isHfjp);
}
